import { createRouter, createWebHistory } from 'vue-router'
import Login from '@/views/Login/index.vue'
import { useUserStore } from '@/stores'
const router = createRouter({
  //import.meta.env.BASE_URL
  history: createWebHistory(),//createWebHistory() 参数默认是/
  routes: [
    {
      path:'/login',
      name:'login',
      meta:{title:'登录'},
      component:Login
    }
    ,{
      path:'/',
      name:'layout',
      component:()=>import ('@/views/Layout/index.vue'),
      children:[
        {
          path:'/home',
          meta:{title:'首页'},
          component:()=>import ('@/views/Home/index.vue')
        },
        {
          path:'/article',
          meta:{title:'健康百科'},
          component:()=>import ('@/views/Article/index.vue')
        },
        {
          path:'/notify',
          meta:{title:'消息中心'},
          component:()=>import ('@/views/Notify/index.vue')
        },
        {
          path:'/user',
          meta:{title:'个人中心'},
          component:()=>import ('@/views/User/index.vue')
        }
      ]
    }
  ]
})


//vue2的导航守卫
// router.beforeEach((to,from,next)=>{

// })


//vue3的导航守卫:
// router.beforeEach((to)=>{
  // to:要访问的页面
  // 如果没有权限,也就没有token，只要return就好了 ‘login’：表示返回到登录页面
  //如果有token就什么都不做，表示放行
// })

router.beforeEach((to)=>{
  //查询token（从pinia查）  如果没有token，并且访问的页面不是白名单（注册等）中的页面那么就跳转到login页面
  const store=useUserStore()
  //设置白名单
  const whiteList=['/login','/register','/login/callback']
  if(!store.user?.token&&!whiteList.includes(to.path)) return '/login'
})

router.afterEach((to) => {
  document.title = `${to.meta.title || ''}-优医问诊`
})



export default router
